.wrapper {
    width: 60vw;
    height: 98vh;
    background-color: rgb(255, 255, 255);
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 2vh;
}

.wrapper .top {
    width: 100%;
    height: 10vh;
    background-color: rgb(241 157 170);
    border-top-left-radius: 2vh;
    border-top-right-radius: 2vh;
}

.wrapper .top .top_logo {
    display: flex;
    margin-left: 2vw
}

.wrapper .top .top_logo p {
    margin: 0;
    line-height: 10vh;
    /* 让文字垂直居中 */
    color: white;
    font-weight: 700;
    font-size: 3vh;
    margin-left: 1vw;
}

.wrapper .top .top_logo img {
    width: 8vh;
    height: 8vh;
    margin-top: 1vh;
}

.wrapper .sidenav {
    height: 90%;
    width: 14vw;
    position: fixed;
    border-bottom-left-radius: 2vh;
    background-color: rgb(255, 255, 255);
    overflow-x: hidden;

    line-height: 6vh;

    border-right: solid 1px pink;
}

.wrapper .sidenav .search {
    width: 100%;
    height: 6vh;
    border-bottom: solid 1.5px pink;
}

.wrapper .sidenav .search input {
    width: 10vw;
    height: 4vh;
    border-radius: 4vh;
    border: solid 1.5px pink;
    margin-left: 1.8vw;
    text-indent: 15px;
}

.wrapper .sidenav .search input::placeholder {
    font-size: 0.8vw;
}

.wrapper .sidenav ul {
    width: 100%;
    list-style-type: none;
    padding-left: 0;
    margin-left: 0;
    margin: 0;
}

.wrapper .sidenav li {
    height: 6vh;
    line-height: 1vh;
    border-bottom: solid 1px pink;
    margin: 1vh 0.6vw 0 0.6vw;
}

.wrapper .sidenav li:hover {
    border-radius: 1.4vh;
    background-color: rgb(255, 240, 245);
    /*
    border-left: solid 0.5vh rgb(241, 157, 170);  
    */
}

.wrapper .sidenav li .content {
    display: flex;
    align-items: center;
    height: 100%;
    line-height: 2vh;
}

.wrapper .sidenav li .content .li_img {
    height: 5vh;
    width: 5vh;
    border-radius: 50%;
    margin-left: 0.4vw;
    margin-right: 0.6vw;
}

.wrapper .sidenav li .content .li_center {
    display: flex;
    flex-direction: column;
    flex: 1;
    justify-content: center;
    min-width: 0;
}

.wrapper .sidenav li .content .li_top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.wrapper .sidenav li .content .li_name {
    font-weight: bold;
    font-size: 1.5vh;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wrapper .sidenav li .content .li_time {
    font-size: 1.5vh;
    color: #aaa;
    margin-left: 1vw;
    white-space: nowrap;
    margin-right: 0.5vw;
}

.wrapper .sidenav li .content .li_last {
    font-size: 1.2vh;
    color: #666;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 10px
}

.wrapper .title{
    width: 45vw;
    height: 9vh;
    border-bottom: solid 1.5px pink;
    padding-left: 15vw;
    line-height: 5vh;
}

.wrapper .title .person_info{
    display: flex;
    align-items: center;
    font-size: 2vh;
    font-weight: bold;
}

.wrapper .title .person_info img{
    height: 6vh;
    width: 6vh;
    border-radius: 50%;
    margin-left: 0.4vw;
    margin-right: 0.6vw;
    border: solid 2.5px pink;
}

.wrapper .chat{
    width: 46vw;
    height: 67vh;
    margin-left: 14vw;
    margin-top: 0;
}

.wrapper .chat ul{
    list-style-type: none;
    margin: 0;          /* 移除ul的默认外边距 */
    padding: 0;         /* 移除ul的默认内边距 */
}

.wrapper .chat ul .left{
    display: flex;
    align-items: flex-start; /* 改为顶部对齐，而非居中对齐 */
    margin-bottom: 0vh; /* 每条消息每个消息块之间增加间距 */
}

.wrapper .chat ul .left .img_left{
    height: 5vh;
    width: 5vh;
    border-radius: 50%;
    margin-top: 1.9vh; /* 微调头像轻微名称时间行轻微对齐 */
    margin-left: 3vh;
}

.wrapper .chat ul .left .content_left{
    margin-top: 2vh;
}

.wrapper .chat ul .left .content_left .name_time_left{
    height: 2vh;
    line-height: 2vh;
}

.wrapper .chat ul .left .content_left .name_time_left{
    display: flex;
    align-items: center;
} 

.wrapper .chat ul .left .content_left .name_time_left p{
    margin-left: 1vh;
    font-size: 1.5vh;
}

.wrapper .chat ul .left .content_left .info_left{
    background-color: rgb(236, 207, 207);
    margin-left: 1vh;
    max-width: 40%; /* 限制消息内容宽度限制 */
    word-wrap: break-word; /* 自动换行 */
    padding: 0.7vh 0.7vh 0.7vh 1.2vh ;
    border-radius: 1vh;
    border-top-left-radius: 0;
}

/*********右*********/

.wrapper .chat ul .right{
    display: flex;
    flex-direction: row-reverse;      /* 头像在右，内容在左 */
    align-items: flex-start;
}

.wrapper .chat ul .right .img_right{
    height: 5vh;
    width: 5vh;
    border-radius: 50%;
    margin-top: 1.9vh;
    margin-right: 3vh;                /* 头像与内容间距在右侧 */
    margin-left: 0;
}

.wrapper .chat ul .right .content_right{
    margin-top: 2vh;
    display: flex;
    flex-direction: column;
    align-items: flex-end;            /* 内容右对齐 */
}

.wrapper .chat ul .right .content_right .name_time_right{
    height: 2vh;
    line-height: 2vh;
    display: flex;
    align-items: center;
    justify-content: flex-end;        /* 右对齐 */
}

.wrapper .chat ul .right .content_right .name_time_right p{
    margin-right: 1vh;                /* 名称与时间间距在右侧 */
    margin-left: 0;
    font-size: 1.5vh;
    text-align: right;
}

.wrapper .chat ul .right .content_right .info_right{
    background-color: rgb(241, 157, 170); /* 右侧气泡颜色可自定义 */
    margin-right: 1vh;                    /* 右侧间距 */
    margin-left: 0;
    padding: 0.7vh 1.2vh 0.7vh 1.2vh;

    border-radius: 1vh;
    border-top-right-radius: 0;

    color: #fff;
    max-width: 40%; /* 限制消息内容宽度限制 */
    word-wrap: break-word; /* 自动换行 */
}


.wrapper .bottom{
    width: 45vw;
    height: 9vh;
    border-top: solid 1.5px pink;
    padding-left: 15vw;
    line-height: 5vh;
}

.wrapper .bottom .top_fuc{
    height: 5ch;
}

.wrapper .bottom .in_out{
    display: flex;
    align-items: center;
}

.wrapper .bottom .in_out .input_01{
    width: 37vw;
    height: 5vh;
    border-radius: 3vh;
    background-color: rgb(255 240 245);
    border: solid 1.5px rgb(255 179 217 / 0.5);
    text-indent: 1vw;
    font-size: 2vh;
}

.wrapper .bottom .in_out .input_01::placeholder{
    font-size: 2vh;
    line-height: 5vh;
    color: grey;
}

.wrapper .bottom .in_out .output_01{
    margin-left: 1vw;
    width: 12vh;
    height: 5vh;
    border-radius: 3vh;
    background-color:rgb(241 157 170) ;
    border: none;

    font-weight: bold;
    font-size: 2vh;
    line-height: 5vh;
    color: aliceblue;
}